#include <iostream>
#include "concretestate.h"

CHECK_TIMEOUT(State1, State4)
CHECK_TIMEOUT(State2, State4)
CHECK_TIMEOUT(State3, State4)

int State1::update()
{
    std::cout << __PRETTY_FUNCTION__ << std::endl;
    trans_to<State3>();
    return 1;
}

int State2::update()
{
    std::cout << __PRETTY_FUNCTION__ << std::endl;
    trans_to<State1>();
    return 1;
}

int State3::update()
{
    std::cout << __PRETTY_FUNCTION__ << std::endl;
    trans_to<State2>();
    return 1;
}
